This is the first application filed for the present invention.
Not Applicable.
The present invention relates to multicast services, and in particular to a method and system for provisioning network resources for dynamic multicast groups.
The recent evolution of communication networks (e.g. the Internet) has been accompanied by increasing demand by users for delivery of multi-cast services over such networks. Multicast services include, for example, news or entertainment content, which is transported over the networks from a single source to a plurality of sinks. In this context, a source may be a server at the network edge acting as a source of the content; or an edge node serving as a gateway between affiliated sub-networks, through which the content (which originates elsewhere) is supplied to the sub-network. Similarly, a sink node may be an end-user""s communication device (e.g. a personal computer [PC] connected to the network via a modem); or an edge node which serves as a gateway between affiliated sub-networks, and through which the content (having been transported across the sub-network from the source) is supplied to an adjacent sub-network.
In order to enable multicast transport of content, a network provider (NP) must provision the network with both physical and service resources having sufficient band-width capacity and buffers. Physical resources are provisioned by installation of the physical plant used to construct the network fabric. Since changes in the physical resources necessarily involves the installation of new hardware, such changes are generally expensive, and consequently infrequent. Network providers typically utilize various known methods for predicting future bandwidth capacity requirements, and attempt to deploy physical plant having sufficient excess capacity to satisfy anticipated growth in demand for forecast service offerings. However, at least during any specific multicast session, the total available resources (i.e. link band-width and buffers) are fixed, and these may be logically allocated (typically allocation of bandwidth capacity and buffers) to multiple communications sessions (or data transport paths) up to a practical limit of the band-width and buffer capacity of the resource.
The logical allocation of resources for any communication session is normally conducted during set-up of a data transport path across the network. Various methods are known for service resource allocation, such as, for example, resource reservation protocol (RSVP) and constrained routing-label distributed protocol (CR-LDP). In each case, an end-to-end path across the network between source and sink nodes is first negotiated, and then transport resources along the path are allocated in accordance with a service requested for the communication session. In a situation where the allocation of resources to satisfy the service requested exhausts (or exceeds) the practical capacity of any element (e.g. a node or link) in the path (given pre-existing resource allocations for other communications sessions already utilizing that element), then the path must be abandoned, and the process of path setup and provisioning restarted.
Known service resource allocation methods are well suited to unicast, and predetermined point-to-predetermined point (i.e. 1-to-1, in which both source and sink nodes are predetermined and static) connections across the network. In such cases, it is a simple matter to set up a path and allocate resources during set-up of the connection. These methods can also be used effectively for multicast groups in which source and sink nodes are predetermined and static (i.e. 1-to-Many, in which all nodes are predetermined and static) because resource requirements can be accurately predicted prior to setting up the multicast tree. However, in cases where a multicast group is dynamic (i.e. in which any edge node of the network may serve as a sink node, and/or new sink nodes may join or leave the group during a multicast session), the network must be logically provisioned to provide for xe2x80x9c1-to-Anyxe2x80x9d distribution, and it is therefore very difficult to predict provisioning requirements a priori.
In order to service a dynamic multicast group, the network provider must hypothesize probable delivery paths for the multicast traffic, and estimate the service resources required in the network. Because the egress nodes in a multicast group can be dynamic, this can result in:
multicast traffic not being delivered at a service level agreed to if parts of the network utilized by a multicast group lack adequate service resources; or
under-utilization of network resources if the network provider over-estimates the bandwidth capacity required for multicast traffic in a portion of the network.
In addition, individual egress nodes in a multicast group may experience very different service levels, depending on whether their respective distribution paths xe2x80x9chitxe2x80x9d or xe2x80x9cmissxe2x80x9d adequately provisioned portions of the network. If on the other hand the network service provider chooses to distribute resources in potential paths from any ingress node to all possible egress nodes, then the multicast traffic may be delivered consistently below a service level contracted for in a SLS.
Accordingly, there remains a need for a method and apparatus that enable network resources to be allocated to a dynamic multicast group, such that multicast traffic associated with the group can be delivered at a service level required by a SLS associated with the multicast.
An object of the present invention is to provide a method and system for provisioning a distribution path of a dynamic multicast group, such that multicast traffic can be delivered through the distribution path at a service level required by an SLS associated with the dynamic multicast group.
A further object of the present invention is to provide a method and system for provisioning a distribution path of a dynamic multicast group, in which multicast traffic can be delivered to each member of the dynamic multicast group at the same service level.
Accordingly, an aspect of the present invention provides a method of provisioning a distribution path of a multicast tree between an ingress node and an egress node in a dynamic multicast group in a differentiated services (DS) network, the method comprising the steps of: receiving information respecting a predetermined service level specification (SLS) for the dynamic multicast group; and provisioning the distribution path from the egress node back to the ingress node, on the basis of the received information respecting the SLS.
Another aspect of the present invention provides a edge node for receiving a multicast traffic of a dynamic multicast group transmitted over a differentiated services (DS) network from an ingress node, the edge node comprising a multicast traffic engineering (MCTE) entity adapted for: receiving information respecting a predetermined service level specification (SLS) of the dynamic multicast group; and provisioning a distribution path from the edge node back to the ingress node, on the basis of the received information respecting the SLS.
A further aspect of the present invention provides a system for provisioning a distribution path of a dynamic multicast group over a differentiated services (DS) network. The system comprises an ingress node adapted to serve as a source of data traffic of the dynamic multicast group; and an egress node adapted to serve as a sink of the data traffic of the dynamic multicast group. The egress node comprising a multicast traffic engineering (MCTE) entity adapted for: receiving information respecting a predetermined service level specification (SLS) of the dynamic multicast group; and provisioning a distribution path from the egress node back to the ingress node, on the basis of the received information respecting the SLS.
In an embodiment of the invention, information respecting the SLS includes resource requirement information defined for the multicast group. Preferably, the SLS information is received by receiving, at the multicast traffic engineering (MCTE) entity, a message including the SLS information. Preferably, a query message is received from the egress node. A response including the SLS information is subsequently sent to the multicast traffic engineering (MCTE) entity of the egress node in response to the query message. In embodiments of the invention, the query message can be received by any one or more of the ingress node or an SLS database server.
Preferably, each hop of the distribution path is provisioned, in sequence, starting from the egress node and progressing toward the ingress node.
In an embodiment of the invention, each hop of the distribution path is provisioned by: forwarding a graft message toward a root of the multicast tree; receiving the graft message at a network element intermediate the ingress node and the egress node; and allocating resources of the network element to the distribution path. Preferably, a forwarding state of the network element is also set to enable forwarding of multicast traffic toward the egress node.
In preferred embodiments of the invention, the graft message is forwarded from the egress node toward the root of the multicast tree along a route traversed by the distribution path as its is provisioned. Preferably, the route is determined in accordance with any one or more of: a shortest path route between the egress node and the ingress node; a constraint based routing (CBR) table including predetermined path routing information defined by a network provider; an explicit routing object (ERO) including predetermined path routing information defined by a network provider; and a path discovery algorithm.
Preferably, information of the route is determined by the egress node and included in the graft message.
In an embodiment of the invention, when the network element is carrying multicast traffic of the multicast group, a forwarding state of the network element is set to enable forwarding of the multicast traffic to the egress node; and the graft message is terminated.
In an embodiment of the invention, when a second ingress node joins the dynamic multicast group: information respecting the predetermined service level specification (SLS) for the dynamic multicast group is obtained; and the distribution path is re-provisioned, from the second ingress node toward each egress node of the dynamic multicast group, on the basis of the received information respecting the SLS. In this case, information respecting the SLS can be obtained by sending a query message to one or more of the ingress node and an SLS database server.